?System

コンビニ V6Fax & PickingList System

Flow

Topic
内容
File
PRG
memo
コピーFDに該当データをコピーNCCTRO.DATDOS7専用機
起動NewDspAに移動発注フォルダSeven11.EXENewDspA
抽出必要項目に整頓Neri.TXT,P2.DATBAT(DOSprompt)C->EXE
DB化フィールドのADD&QuerySeven11.MDBSeven11.EXEDAO,Query
印刷印刷可能なシート作成JUODX*.XLS,PL7X99*.XLSEXCEL:VBABackUpあり

MEMO

1.コピー
発注、配送もメニューからコピーできる。
コピーされるファイルは、発注配送,共にNCCTRO.DATという名前。

2.システム起動
Seven11.EXE:VBで作成。
抽出バッチを呼び出し、その後、引き続き最後までの処理をする。

---- 処理機能の概略 -----
発注
1)Seven11.mdbと連携してV6FaxSysに繋げる。(このケースでは明細を先に自動印刷するのが特別処理)
2)商品名、単価の取得のため、AS400からマスタをRDOでSeven11.mdbに落とす。(随時)
3)伝票作成用に、AS400へのクロスシステム利用可能なSDTCR.TXTをFDに書き戻す。(従来と同様)

Picking
1)Picking用の商品名略称マスタをメンテする。出力順位も指定可。
(SejName(SejNameQ)をDBGRIDで呼び出すだけ)
2)印刷用Excelを呼び、VBAマクロをキックして一括印刷。
3)印刷ミスや用紙紛失に備え、直前に印刷したExcelファイルを単純に呼び出し可。

3.抽出
コマンドラインのDOSレベルでコンパイルされた、簡易なCのEXE。
前のバージョンに少し手を加えたのみ。(サンプル)
(何故か、PC98のDOSのMSCでコンパイルした方が良いみたい? 個々のソースはバッチのページからLINK可)
標準入出力を用いているのみなので、実行時にはパイプラインで割り込みを掛ける。(バッチで処理)

基本的には
不良文字を取り除き、改行位置を揃え、
単純なDBのレコードのフォーマットになるよう、HeadderとBodyを合体する。
必要に応じて、不要フィールドを除く。

連続実行の為、バッチを利用する。

BAT(Cプログラム名はBATの内容から参照)

発注 ------------ NERI\NERI.BAT
PickingList ------- PC.BAT

配送データにはマスタも含まれているので、本数が多い。

作成されるデータ名はバッチから分かるように

発注 ---- NERI\NERI.TXT
配送 ---- P2.DAT
商品 ---- SMST.DAT
店 ------ MS.DAT

DOS窓も奇異にならない様に大きさを調整した。

4.DB化
いつも通り、予め用意したMDBに対して、VBでデータの更新を行う。
発注もピッキングもこのパターンでは、テキストデータをOPENして、指定バイトをTABLEのフィールドとして落とす.。
発注時に新規商品或いは商品名変更を確認するためSejNameを商品コードでRead、
必要に応じてメッセージ、新規ならAdd、変更ならRewriteする。
またAS400からのマスタと比較して単価チェックをしている。

他には特別なことは無い。

配送リストに関わるテーブルとクエリ
PLOUTDELPLOUTを追加する前に削除削除Query
PLTTLDELPLTTLOUTを追加する前に削除削除Query
PLIN予めクリアしてある。受け入れテーブル
SejName 商品名略称・順位マスタ Read & Rewrite or Add(配送時はJOINのみ)
MSMST店マスタ

Clear & Write

PLSUM1PLIN集計、数量単位処理Sum Query
PLSUM2PLSUM1JOIN 店マスタ、商品マスタJoin Query
PLSUM3PLOUT 作成ADD Query
PLTTL1PLSUM1から分岐、商品別GP別リストJoin Query
PLTTL2PLTTLをPLTTLOUTにADDADD Query
PLOUTピッキング用OUTデータEXCELで利用ピッキング明細用GP・コース・ルート・商品別テーブル
PLTTLOUTピッキング確認用商品別GP総合計用商品別GP別テーブル
PLINDELPLINを最後にクリア:MDBサイズ縮小削除Query


5.印刷
発注は通常のパターンと大差ない。

ピッキングリスト印刷は、

総合計を最初の頁に(1頁にまとめる)。
グループで改頁(DBに落とす時からINT(コース/2)+1でGP作成)。
店休みの可能性を示唆。
合計を各頁の頭に。
1頁に収まらない時の処理。
店コード、店名の表示。
店の数量計。
最終行に店名が来ない。
……などを工夫した。

以上 1999/02/09 by Masanori Hosoda

戻る